/*
 * VariableChooser.cuh
 *
 *  Created on: Aug 7, 2013
 *      Author: jaime
 */

#include <vector>
#include <stdio.h>
#include "../SATSolver/SolverTypes.cuh"
#include "Sort.cuh"
#include <assert.h>

using namespace std;

#ifndef VARIABLECHOOSER_CUH_
#define VARIABLECHOOSER_CUH_

class VariableChooser {
public:
	VariableChooser(vector <Clause> * formula, int number_of_variables);
	~VariableChooser();
	void evaluate();
	bool has_next_variable();
	Var next_variable();
private:
	vector <Clause> * formula;
	Evaluation * evaluations;
	int number_of_variables;
	bool evaluated;
	int next_variable_index;
};

#endif /* VARIABLECHOOSER_CUH_ */
